<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>gdsl: Low level binary tree manipulation module</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>


</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">gdsl
   &#160;<span id="projectnumber">1.7</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('group____gdsl__bintree.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Low level binary tree manipulation module</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct _gdsl_bintree *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GDSL low-level binary tree type.  <a href="#ga797c557a551a057c0763387ce7b92fbe"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga43408bcf81a258b72a85c713a0021b96">_gdsl_bintree_map_func_t</a> )(const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> TREE, void *USER_DATA)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GDSL low-level binary tree map function type.  <a href="#ga43408bcf81a258b72a85c713a0021b96"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#gacea560ffb03c5318e963c7b0216e3fc1">_gdsl_bintree_write_func_t</a> )(const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> TREE, FILE *OUTPUT_FILE, void *USER_DATA)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">GDSL low-level binary tree write function type.  <a href="#gacea560ffb03c5318e963c7b0216e3fc1"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga0852a5ab10985ee2224008aebf43d4f7">_gdsl_bintree_alloc</a> (const <a class="el" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7">gdsl_element_t</a> E, const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> LEFT, const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> RIGHT)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new low-level binary tree.  <a href="#ga0852a5ab10985ee2224008aebf43d4f7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#gade1a77a85dea47154f7a4164474a9d15">_gdsl_bintree_free</a> (<a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T, const <a class="el" href="group__gdsl__types.html#ga2c6b3f96b291b5b39d2799f93e350053">gdsl_free_func_t</a> FREE_F)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy a low-level binary tree.  <a href="#gade1a77a85dea47154f7a4164474a9d15"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga0567edba3bcae2545071b3a0270d677e">_gdsl_bintree_copy</a> (const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T, const <a class="el" href="group__gdsl__types.html#ga4f82a1f397e66d35523569063d570175">gdsl_copy_func_t</a> COPY_F)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy a low-level binary tree.  <a href="#ga0567edba3bcae2545071b3a0270d677e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gdsl__types.html#gaf6a258d8f3ee5206d682d799316314b1">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga78d1edf127bc12942a83b6add1f6d642">_gdsl_bintree_is_empty</a> (const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a low-level binary tree is empty.  <a href="#ga78d1edf127bc12942a83b6add1f6d642"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gdsl__types.html#gaf6a258d8f3ee5206d682d799316314b1">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga0d50a9326725a116e2d0a02074e3b0f5">_gdsl_bintree_is_leaf</a> (const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a low-level binary tree is reduced to a leaf.  <a href="#ga0d50a9326725a116e2d0a02074e3b0f5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gdsl__types.html#gaf6a258d8f3ee5206d682d799316314b1">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#gac66dabdae780172e64264eb4065ef156">_gdsl_bintree_is_root</a> (const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a low-level binary tree is a root.  <a href="#gac66dabdae780172e64264eb4065ef156"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7">gdsl_element_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#gaebb3e893391278b393ea34c752bc3a3f">_gdsl_bintree_get_content</a> (const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the root content of a low-level binary tree.  <a href="#gaebb3e893391278b393ea34c752bc3a3f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga473ac7a29cb71556885980f3b6a45daa">_gdsl_bintree_get_parent</a> (const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the parent tree of a low-level binary tree.  <a href="#ga473ac7a29cb71556885980f3b6a45daa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga7cd6ff95966f0dfe1db04d905c40addc">_gdsl_bintree_get_left</a> (const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the left sub-tree of a low-level binary tree.  <a href="#ga7cd6ff95966f0dfe1db04d905c40addc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga6412e383427d791a9bfe4739b9ec198e">_gdsl_bintree_get_right</a> (const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the right sub-tree of a low-level binary tree.  <a href="#ga6412e383427d791a9bfe4739b9ec198e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga646a77c1fdd45a76cce618c803adee77">_gdsl_bintree_get_left_ref</a> (const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the left sub-tree reference of a low-level binary tree.  <a href="#ga646a77c1fdd45a76cce618c803adee77"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga5da2264844b1348d9e4765514586a64f">_gdsl_bintree_get_right_ref</a> (const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the right sub-tree reference of a low-level binary tree.  <a href="#ga5da2264844b1348d9e4765514586a64f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gdsl__types.html#ga9c34ac44da309b004570530c8cec8a0e">ulong</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#gadd06abd79fc75d4e412114804975b23c">_gdsl_bintree_get_height</a> (const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the height of a low-level binary tree.  <a href="#gadd06abd79fc75d4e412114804975b23c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gdsl__types.html#ga9c34ac44da309b004570530c8cec8a0e">ulong</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga8e1e3671fff004009d5f9ac0fff211b4">_gdsl_bintree_get_size</a> (const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the size of a low-level binary tree.  <a href="#ga8e1e3671fff004009d5f9ac0fff211b4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga508b48820f2d5b8d6a1047abc2884fd0">_gdsl_bintree_set_content</a> (<a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T, const <a class="el" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7">gdsl_element_t</a> E)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the root element of a low-level binary tree.  <a href="#ga508b48820f2d5b8d6a1047abc2884fd0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#gaa332306828fd20d27a9af6ca52dde013">_gdsl_bintree_set_parent</a> (<a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T, const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> P)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the parent tree of a low-level binary tree.  <a href="#gaa332306828fd20d27a9af6ca52dde013"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga55ab5813c249066509f7516ab308d34d">_gdsl_bintree_set_left</a> (<a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T, const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> L)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set left sub-tree of a low-level binary tree.  <a href="#ga55ab5813c249066509f7516ab308d34d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#gad0e00123c4e733862b20512d4edd8e75">_gdsl_bintree_set_right</a> (<a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T, const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> R)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set right sub-tree of a low-level binary tree.  <a href="#gad0e00123c4e733862b20512d4edd8e75"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga22cda97e5e4747ab355c8eef2d5f7372">_gdsl_bintree_rotate_left</a> (<a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> *T)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Left rotate a low-level binary tree.  <a href="#ga22cda97e5e4747ab355c8eef2d5f7372"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga082c45d04f47b72da1bc4d7703adbe88">_gdsl_bintree_rotate_right</a> (<a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> *T)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Right rotate a low-level binary tree.  <a href="#ga082c45d04f47b72da1bc4d7703adbe88"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga3a406e5f4ef33ad3b1014e4b84c6da2f">_gdsl_bintree_rotate_left_right</a> (<a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> *T)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Left-right rotate a low-level binary tree.  <a href="#ga3a406e5f4ef33ad3b1014e4b84c6da2f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#gadb8569eefcd6a965a30fac2f6fafcc47">_gdsl_bintree_rotate_right_left</a> (<a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> *T)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Right-left rotate a low-level binary tree.  <a href="#gadb8569eefcd6a965a30fac2f6fafcc47"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga436374e66f5f69fa39ded6152004218f">_gdsl_bintree_map_prefix</a> (const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T, const <a class="el" href="group____gdsl__bintree.html#ga43408bcf81a258b72a85c713a0021b96">_gdsl_bintree_map_func_t</a> MAP_F, void *USER_DATA)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse a low-level binary tree in prefixed order.  <a href="#ga436374e66f5f69fa39ded6152004218f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga724d9accf37102ec2e1f6c857efe9411">_gdsl_bintree_map_infix</a> (const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T, const <a class="el" href="group____gdsl__bintree.html#ga43408bcf81a258b72a85c713a0021b96">_gdsl_bintree_map_func_t</a> MAP_F, void *USER_DATA)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse a low-level binary tree in infixed order.  <a href="#ga724d9accf37102ec2e1f6c857efe9411"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga203a069ddf6d9d61144c708c28bbe43d">_gdsl_bintree_map_postfix</a> (const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T, const <a class="el" href="group____gdsl__bintree.html#ga43408bcf81a258b72a85c713a0021b96">_gdsl_bintree_map_func_t</a> MAP_F, void *USER_DATA)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse a low-level binary tree in postfixed order.  <a href="#ga203a069ddf6d9d61144c708c28bbe43d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga50a13f7776626c759a33aa55fa7a0aa4">_gdsl_bintree_write</a> (const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T, const <a class="el" href="group____gdsl__bintree.html#gacea560ffb03c5318e963c7b0216e3fc1">_gdsl_bintree_write_func_t</a> WRITE_F, FILE *OUTPUT_FILE, void *USER_DATA)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Write the content of all nodes of a low-level binary tree to a file.  <a href="#ga50a13f7776626c759a33aa55fa7a0aa4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga372dbc2caeef645046c3f1f24f996ac2">_gdsl_bintree_write_xml</a> (const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T, const <a class="el" href="group____gdsl__bintree.html#gacea560ffb03c5318e963c7b0216e3fc1">_gdsl_bintree_write_func_t</a> WRITE_F, FILE *OUTPUT_FILE, void *USER_DATA)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Write the content of a low-level binary tree to a file into XML.  <a href="#ga372dbc2caeef645046c3f1f24f996ac2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group____gdsl__bintree.html#ga9099d44f674541112fbace86690599ee">_gdsl_bintree_dump</a> (const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> T, const <a class="el" href="group____gdsl__bintree.html#gacea560ffb03c5318e963c7b0216e3fc1">_gdsl_bintree_write_func_t</a> WRITE_F, FILE *OUTPUT_FILE, void *USER_DATA)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Dump the internal structure of a low-level binary tree to a file.  <a href="#ga9099d44f674541112fbace86690599ee"></a><br/></td></tr>
</table>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="ga797c557a551a057c0763387ce7b92fbe"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_t" ref="ga797c557a551a057c0763387ce7b92fbe" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct _gdsl_bintree* <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GDSL low-level binary tree type. </p>
<p>This type is voluntary opaque. Variables of this kind could'nt be directly used, but by the functions of this module. </p>

<p>Definition at line <a class="el" href="__gdsl__bintree_8h_source.html#l00054">54</a> of file <a class="el" href="__gdsl__bintree_8h_source.html">_gdsl_bintree.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga43408bcf81a258b72a85c713a0021b96"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_map_func_t" ref="ga43408bcf81a258b72a85c713a0021b96" args=")(const _gdsl_bintree_t TREE, void *USER_DATA)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int(*  <a class="el" href="group____gdsl__bintree.html#ga43408bcf81a258b72a85c713a0021b96">_gdsl_bintree_map_func_t</a>)(const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> TREE, void *USER_DATA)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GDSL low-level binary tree map function type. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">TREE</td><td>The low-level binary tree to map. </td></tr>
    <tr><td class="paramname">USER_DATA</td><td>The user datas to pass to this function. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>GDSL_MAP_STOP if the mapping must be stopped. </dd>
<dd>
GDSL_MAP_CONT if the mapping must be continued. </dd></dl>

<p>Definition at line <a class="el" href="__gdsl__bintree_8h_source.html#l00063">63</a> of file <a class="el" href="__gdsl__bintree_8h_source.html">_gdsl_bintree.h</a>.</p>

</div>
</div>
<a class="anchor" id="gacea560ffb03c5318e963c7b0216e3fc1"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_write_func_t" ref="gacea560ffb03c5318e963c7b0216e3fc1" args=")(const _gdsl_bintree_t TREE, FILE *OUTPUT_FILE, void *USER_DATA)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(*  <a class="el" href="group____gdsl__bintree.html#gacea560ffb03c5318e963c7b0216e3fc1">_gdsl_bintree_write_func_t</a>)(const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> TREE, FILE *OUTPUT_FILE, void *USER_DATA)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>GDSL low-level binary tree write function type. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">TREE</td><td>The low-level binary tree to write. </td></tr>
    <tr><td class="paramname">OUTPUT_FILE</td><td>The file where to write TREE. </td></tr>
    <tr><td class="paramname">USER_DATA</td><td>The user datas to pass to this function. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="__gdsl__bintree_8h_source.html#l00073">73</a> of file <a class="el" href="__gdsl__bintree_8h_source.html">_gdsl_bintree.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga0852a5ab10985ee2224008aebf43d4f7"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_alloc" ref="ga0852a5ab10985ee2224008aebf43d4f7" args="(const gdsl_element_t E, const _gdsl_bintree_t LEFT, const _gdsl_bintree_t RIGHT)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> <a class="el" href="group____gdsl__bintree.html#ga0852a5ab10985ee2224008aebf43d4f7">_gdsl_bintree_alloc</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7">gdsl_element_t</a>&#160;</td>
          <td class="paramname"><em>E</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>LEFT</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>RIGHT</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new low-level binary tree. </p>
<p>Allocate a new low-level binary tree data structure. Its root content is set to E and its left son (resp. right) is set to LEFT (resp. RIGHT).</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>nothing. </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">E</td><td>The root content of the new low-level binary tree to create. </td></tr>
    <tr><td class="paramname">LEFT</td><td>The left sub-tree of the new low-level binary tree to create. </td></tr>
    <tr><td class="paramname">RIGHT</td><td>The right sub-tree of the new low-level binary tree to create. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the newly allocated low-level binary tree in case of success. </dd>
<dd>
NULL in case of insufficient memory. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#gade1a77a85dea47154f7a4164474a9d15" title="Destroy a low-level binary tree.">_gdsl_bintree_free()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gade1a77a85dea47154f7a4164474a9d15"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_free" ref="gade1a77a85dea47154f7a4164474a9d15" args="(_gdsl_bintree_t T, const gdsl_free_func_t FREE_F)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group____gdsl__bintree.html#gade1a77a85dea47154f7a4164474a9d15">_gdsl_bintree_free</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__gdsl__types.html#ga2c6b3f96b291b5b39d2799f93e350053">gdsl_free_func_t</a>&#160;</td>
          <td class="paramname"><em>FREE_F</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destroy a low-level binary tree. </p>
<p>Flush and destroy the low-level binary tree T. If FREE_F != NULL, FREE_F function is used to deallocate each T's element. Otherwise nothing is done with T's elements.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( |T| ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>nothing. </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to destroy. </td></tr>
    <tr><td class="paramname">FREE_F</td><td>The function used to deallocate T's nodes contents. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga0852a5ab10985ee2224008aebf43d4f7" title="Create a new low-level binary tree.">_gdsl_bintree_alloc()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga0567edba3bcae2545071b3a0270d677e"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_copy" ref="ga0567edba3bcae2545071b3a0270d677e" args="(const _gdsl_bintree_t T, const gdsl_copy_func_t COPY_F)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> <a class="el" href="group____gdsl__bintree.html#ga0567edba3bcae2545071b3a0270d677e">_gdsl_bintree_copy</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__gdsl__types.html#ga4f82a1f397e66d35523569063d570175">gdsl_copy_func_t</a>&#160;</td>
          <td class="paramname"><em>COPY_F</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy a low-level binary tree. </p>
<p>Create and return a copy of the low-level binary tree T using COPY_F on each T's element to copy them.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( |T| ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>COPY_F != NULL </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to copy. </td></tr>
    <tr><td class="paramname">COPY_F</td><td>The function used to copy T's nodes contents. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a copy of T in case of success. </dd>
<dd>
NULL if _gdsl_bintree_is_empty (T) == TRUE or in case of insufficient memory. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga0852a5ab10985ee2224008aebf43d4f7" title="Create a new low-level binary tree.">_gdsl_bintree_alloc()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#gade1a77a85dea47154f7a4164474a9d15" title="Destroy a low-level binary tree.">_gdsl_bintree_free()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#ga78d1edf127bc12942a83b6add1f6d642" title="Check if a low-level binary tree is empty.">_gdsl_bintree_is_empty()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga78d1edf127bc12942a83b6add1f6d642"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_is_empty" ref="ga78d1edf127bc12942a83b6add1f6d642" args="(const _gdsl_bintree_t T)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gdsl__types.html#gaf6a258d8f3ee5206d682d799316314b1">bool</a> <a class="el" href="group____gdsl__bintree.html#ga78d1edf127bc12942a83b6add1f6d642">_gdsl_bintree_is_empty</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check if a low-level binary tree is empty. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>nothing. </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to check. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE if the low-level binary tree T is empty. </dd>
<dd>
FALSE if the low-level binary tree T is not empty. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga0d50a9326725a116e2d0a02074e3b0f5" title="Check if a low-level binary tree is reduced to a leaf.">_gdsl_bintree_is_leaf()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#gac66dabdae780172e64264eb4065ef156" title="Check if a low-level binary tree is a root.">_gdsl_bintree_is_root()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga0d50a9326725a116e2d0a02074e3b0f5"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_is_leaf" ref="ga0d50a9326725a116e2d0a02074e3b0f5" args="(const _gdsl_bintree_t T)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gdsl__types.html#gaf6a258d8f3ee5206d682d799316314b1">bool</a> <a class="el" href="group____gdsl__bintree.html#ga0d50a9326725a116e2d0a02074e3b0f5">_gdsl_bintree_is_leaf</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check if a low-level binary tree is reduced to a leaf. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>T must be a non-empty _gdsl_bintree_t. </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to check. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE if the low-level binary tree T is a leaf. </dd>
<dd>
FALSE if the low-level binary tree T is not a leaf. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga78d1edf127bc12942a83b6add1f6d642" title="Check if a low-level binary tree is empty.">_gdsl_bintree_is_empty()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#gac66dabdae780172e64264eb4065ef156" title="Check if a low-level binary tree is a root.">_gdsl_bintree_is_root()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gac66dabdae780172e64264eb4065ef156"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_is_root" ref="gac66dabdae780172e64264eb4065ef156" args="(const _gdsl_bintree_t T)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gdsl__types.html#gaf6a258d8f3ee5206d682d799316314b1">bool</a> <a class="el" href="group____gdsl__bintree.html#gac66dabdae780172e64264eb4065ef156">_gdsl_bintree_is_root</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check if a low-level binary tree is a root. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>T must be a non-empty _gdsl_bintree_t. </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to check. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE if the low-level binary tree T is a root. </dd>
<dd>
FALSE if the low-level binary tree T is not a root. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga78d1edf127bc12942a83b6add1f6d642" title="Check if a low-level binary tree is empty.">_gdsl_bintree_is_empty()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#ga0d50a9326725a116e2d0a02074e3b0f5" title="Check if a low-level binary tree is reduced to a leaf.">_gdsl_bintree_is_leaf()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gaebb3e893391278b393ea34c752bc3a3f"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_get_content" ref="gaebb3e893391278b393ea34c752bc3a3f" args="(const _gdsl_bintree_t T)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7">gdsl_element_t</a> <a class="el" href="group____gdsl__bintree.html#gaebb3e893391278b393ea34c752bc3a3f">_gdsl_bintree_get_content</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the root content of a low-level binary tree. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>T must be a non-empty _gdsl_bintree_t. </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to use. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the root's content of the low-level binary tree T. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga508b48820f2d5b8d6a1047abc2884fd0" title="Set the root element of a low-level binary tree.">_gdsl_bintree_set_content()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga473ac7a29cb71556885980f3b6a45daa"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_get_parent" ref="ga473ac7a29cb71556885980f3b6a45daa" args="(const _gdsl_bintree_t T)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> <a class="el" href="group____gdsl__bintree.html#ga473ac7a29cb71556885980f3b6a45daa">_gdsl_bintree_get_parent</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the parent tree of a low-level binary tree. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>T must be a non-empty _gdsl_bintree_t. </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to use. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the parent of the low-level binary tree T if T isn't a root. </dd>
<dd>
NULL if the low-level binary tree T is a root (ie. T has no parent). </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#gac66dabdae780172e64264eb4065ef156" title="Check if a low-level binary tree is a root.">_gdsl_bintree_is_root()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#gaa332306828fd20d27a9af6ca52dde013" title="Set the parent tree of a low-level binary tree.">_gdsl_bintree_set_parent()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga7cd6ff95966f0dfe1db04d905c40addc"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_get_left" ref="ga7cd6ff95966f0dfe1db04d905c40addc" args="(const _gdsl_bintree_t T)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> <a class="el" href="group____gdsl__bintree.html#ga7cd6ff95966f0dfe1db04d905c40addc">_gdsl_bintree_get_left</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the left sub-tree of a low-level binary tree. </p>
<p>Return the left subtree of the low-level binary tree T (noted l(T)).</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>T must be a non-empty _gdsl_bintree_t. </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to use. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the left sub-tree of the low-level binary tree T if T has a left sub-tree. </dd>
<dd>
NULL if the low-level binary tree T has no left sub-tree. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga6412e383427d791a9bfe4739b9ec198e" title="Get the right sub-tree of a low-level binary tree.">_gdsl_bintree_get_right()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#ga55ab5813c249066509f7516ab308d34d" title="Set left sub-tree of a low-level binary tree.">_gdsl_bintree_set_left()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#gad0e00123c4e733862b20512d4edd8e75" title="Set right sub-tree of a low-level binary tree.">_gdsl_bintree_set_right()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga6412e383427d791a9bfe4739b9ec198e"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_get_right" ref="ga6412e383427d791a9bfe4739b9ec198e" args="(const _gdsl_bintree_t T)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> <a class="el" href="group____gdsl__bintree.html#ga6412e383427d791a9bfe4739b9ec198e">_gdsl_bintree_get_right</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the right sub-tree of a low-level binary tree. </p>
<p>Return the right subtree of the low-level binary tree T (noted r(T)).</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>T must be a non-empty _gdsl_bintree_t </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to use. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the right sub-tree of the low-level binary tree T if T has a right sub-tree. </dd>
<dd>
NULL if the low-level binary tree T has no right sub-tree. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga7cd6ff95966f0dfe1db04d905c40addc" title="Get the left sub-tree of a low-level binary tree.">_gdsl_bintree_get_left()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#ga55ab5813c249066509f7516ab308d34d" title="Set left sub-tree of a low-level binary tree.">_gdsl_bintree_set_left()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#gad0e00123c4e733862b20512d4edd8e75" title="Set right sub-tree of a low-level binary tree.">_gdsl_bintree_set_right()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga646a77c1fdd45a76cce618c803adee77"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_get_left_ref" ref="ga646a77c1fdd45a76cce618c803adee77" args="(const _gdsl_bintree_t T)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>* <a class="el" href="group____gdsl__bintree.html#ga646a77c1fdd45a76cce618c803adee77">_gdsl_bintree_get_left_ref</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the left sub-tree reference of a low-level binary tree. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>T must be a non-empty _gdsl_bintree_t. </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to use. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the left sub-tree reference of the low-level binary tree T. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga5da2264844b1348d9e4765514586a64f" title="Get the right sub-tree reference of a low-level binary tree.">_gdsl_bintree_get_right_ref()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga5da2264844b1348d9e4765514586a64f"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_get_right_ref" ref="ga5da2264844b1348d9e4765514586a64f" args="(const _gdsl_bintree_t T)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>* <a class="el" href="group____gdsl__bintree.html#ga5da2264844b1348d9e4765514586a64f">_gdsl_bintree_get_right_ref</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the right sub-tree reference of a low-level binary tree. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>T must be a non-empty _gdsl_bintree_t. </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to use. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the right sub-tree reference of the low-level binary tree T. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga646a77c1fdd45a76cce618c803adee77" title="Get the left sub-tree reference of a low-level binary tree.">_gdsl_bintree_get_left_ref()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gadd06abd79fc75d4e412114804975b23c"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_get_height" ref="gadd06abd79fc75d4e412114804975b23c" args="(const _gdsl_bintree_t T)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gdsl__types.html#ga9c34ac44da309b004570530c8cec8a0e">ulong</a> <a class="el" href="group____gdsl__bintree.html#gadd06abd79fc75d4e412114804975b23c">_gdsl_bintree_get_height</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the height of a low-level binary tree. </p>
<p>Compute the height of the low-level binary tree T (noted h(T)).</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( |T| ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>nothing. </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to use. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the height of T. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga8e1e3671fff004009d5f9ac0fff211b4" title="Get the size of a low-level binary tree.">_gdsl_bintree_get_size()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga8e1e3671fff004009d5f9ac0fff211b4"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_get_size" ref="ga8e1e3671fff004009d5f9ac0fff211b4" args="(const _gdsl_bintree_t T)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gdsl__types.html#ga9c34ac44da309b004570530c8cec8a0e">ulong</a> <a class="el" href="group____gdsl__bintree.html#ga8e1e3671fff004009d5f9ac0fff211b4">_gdsl_bintree_get_size</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the size of a low-level binary tree. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( |T| ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>nothing. </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to use. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the number of elements of T (noted |T|). </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#gadd06abd79fc75d4e412114804975b23c" title="Get the height of a low-level binary tree.">_gdsl_bintree_get_height()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga508b48820f2d5b8d6a1047abc2884fd0"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_set_content" ref="ga508b48820f2d5b8d6a1047abc2884fd0" args="(_gdsl_bintree_t T, const gdsl_element_t E)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group____gdsl__bintree.html#ga508b48820f2d5b8d6a1047abc2884fd0">_gdsl_bintree_set_content</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__gdsl__types.html#ga0e2b9d7fb5ca9e6d50100e5d9e4bcae7">gdsl_element_t</a>&#160;</td>
          <td class="paramname"><em>E</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the root element of a low-level binary tree. </p>
<p>Modify the root element of the low-level binary tree T to E.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>T must be a non-empty _gdsl_bintree_t. </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to modify. </td></tr>
    <tr><td class="paramname">E</td><td>The new T's root content. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#gaebb3e893391278b393ea34c752bc3a3f" title="Get the root content of a low-level binary tree.">_gdsl_bintree_get_content</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gaa332306828fd20d27a9af6ca52dde013"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_set_parent" ref="gaa332306828fd20d27a9af6ca52dde013" args="(_gdsl_bintree_t T, const _gdsl_bintree_t P)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group____gdsl__bintree.html#gaa332306828fd20d27a9af6ca52dde013">_gdsl_bintree_set_parent</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>P</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the parent tree of a low-level binary tree. </p>
<p>Modify the parent of the low-level binary tree T to P.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>T must be a non-empty _gdsl_bintree_t. </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to modify. </td></tr>
    <tr><td class="paramname">P</td><td>The new T's parent. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga473ac7a29cb71556885980f3b6a45daa" title="Get the parent tree of a low-level binary tree.">_gdsl_bintree_get_parent()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga55ab5813c249066509f7516ab308d34d"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_set_left" ref="ga55ab5813c249066509f7516ab308d34d" args="(_gdsl_bintree_t T, const _gdsl_bintree_t L)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group____gdsl__bintree.html#ga55ab5813c249066509f7516ab308d34d">_gdsl_bintree_set_left</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>L</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set left sub-tree of a low-level binary tree. </p>
<p>Modify the left sub-tree of the low-level binary tree T to L.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>T must be a non-empty _gdsl_bintree_t. </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to modify. </td></tr>
    <tr><td class="paramname">L</td><td>The new T's left sub-tree. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#gad0e00123c4e733862b20512d4edd8e75" title="Set right sub-tree of a low-level binary tree.">_gdsl_bintree_set_right()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#ga7cd6ff95966f0dfe1db04d905c40addc" title="Get the left sub-tree of a low-level binary tree.">_gdsl_bintree_get_left()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#ga6412e383427d791a9bfe4739b9ec198e" title="Get the right sub-tree of a low-level binary tree.">_gdsl_bintree_get_right()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gad0e00123c4e733862b20512d4edd8e75"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_set_right" ref="gad0e00123c4e733862b20512d4edd8e75" args="(_gdsl_bintree_t T, const _gdsl_bintree_t R)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group____gdsl__bintree.html#gad0e00123c4e733862b20512d4edd8e75">_gdsl_bintree_set_right</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>R</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set right sub-tree of a low-level binary tree. </p>
<p>Modify the right sub-tree of the low-level binary tree T to R.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>T must be a non-empty _gdsl_bintree_t. </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to modify. </td></tr>
    <tr><td class="paramname">R</td><td>The new T's right sub-tree. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga55ab5813c249066509f7516ab308d34d" title="Set left sub-tree of a low-level binary tree.">_gdsl_bintree_set_left()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#ga7cd6ff95966f0dfe1db04d905c40addc" title="Get the left sub-tree of a low-level binary tree.">_gdsl_bintree_get_left()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#ga6412e383427d791a9bfe4739b9ec198e" title="Get the right sub-tree of a low-level binary tree.">_gdsl_bintree_get_right()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga22cda97e5e4747ab355c8eef2d5f7372"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_rotate_left" ref="ga22cda97e5e4747ab355c8eef2d5f7372" args="(_gdsl_bintree_t *T)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> <a class="el" href="group____gdsl__bintree.html#ga22cda97e5e4747ab355c8eef2d5f7372">_gdsl_bintree_rotate_left</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> *&#160;</td>
          <td class="paramname"><em>T</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Left rotate a low-level binary tree. </p>
<p>Do a left rotation of the low-level binary tree T.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>T &amp; r(T) must be non-empty _gdsl_bintree_t. </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to rotate. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the modified T left-rotated. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga082c45d04f47b72da1bc4d7703adbe88" title="Right rotate a low-level binary tree.">_gdsl_bintree_rotate_right()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#ga3a406e5f4ef33ad3b1014e4b84c6da2f" title="Left-right rotate a low-level binary tree.">_gdsl_bintree_rotate_left_right()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#gadb8569eefcd6a965a30fac2f6fafcc47" title="Right-left rotate a low-level binary tree.">_gdsl_bintree_rotate_right_left()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga082c45d04f47b72da1bc4d7703adbe88"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_rotate_right" ref="ga082c45d04f47b72da1bc4d7703adbe88" args="(_gdsl_bintree_t *T)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> <a class="el" href="group____gdsl__bintree.html#ga082c45d04f47b72da1bc4d7703adbe88">_gdsl_bintree_rotate_right</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> *&#160;</td>
          <td class="paramname"><em>T</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Right rotate a low-level binary tree. </p>
<p>Do a right rotation of the low-level binary tree T.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>T &amp; l(T) must be non-empty _gdsl_bintree_t. </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to rotate. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the modified T right-rotated. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga22cda97e5e4747ab355c8eef2d5f7372" title="Left rotate a low-level binary tree.">_gdsl_bintree_rotate_left()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#ga3a406e5f4ef33ad3b1014e4b84c6da2f" title="Left-right rotate a low-level binary tree.">_gdsl_bintree_rotate_left_right()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#gadb8569eefcd6a965a30fac2f6fafcc47" title="Right-left rotate a low-level binary tree.">_gdsl_bintree_rotate_right_left()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga3a406e5f4ef33ad3b1014e4b84c6da2f"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_rotate_left_right" ref="ga3a406e5f4ef33ad3b1014e4b84c6da2f" args="(_gdsl_bintree_t *T)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> <a class="el" href="group____gdsl__bintree.html#ga3a406e5f4ef33ad3b1014e4b84c6da2f">_gdsl_bintree_rotate_left_right</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> *&#160;</td>
          <td class="paramname"><em>T</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Left-right rotate a low-level binary tree. </p>
<p>Do a double left-right rotation of the low-level binary tree T.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>T &amp; l(T) &amp; r(l(T)) must be non-empty _gdsl_bintree_t. </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to rotate. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the modified T left-right-rotated. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga22cda97e5e4747ab355c8eef2d5f7372" title="Left rotate a low-level binary tree.">_gdsl_bintree_rotate_left()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#ga082c45d04f47b72da1bc4d7703adbe88" title="Right rotate a low-level binary tree.">_gdsl_bintree_rotate_right()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#gadb8569eefcd6a965a30fac2f6fafcc47" title="Right-left rotate a low-level binary tree.">_gdsl_bintree_rotate_right_left()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gadb8569eefcd6a965a30fac2f6fafcc47"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_rotate_right_left" ref="gadb8569eefcd6a965a30fac2f6fafcc47" args="(_gdsl_bintree_t *T)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> <a class="el" href="group____gdsl__bintree.html#gadb8569eefcd6a965a30fac2f6fafcc47">_gdsl_bintree_rotate_right_left</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> *&#160;</td>
          <td class="paramname"><em>T</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Right-left rotate a low-level binary tree. </p>
<p>Do a double right-left rotation of the low-level binary tree T.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>T &amp; r(T) &amp; l(r(T)) must be non-empty _gdsl_bintree_t. </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to rotate. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the modified T right-left-rotated. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga22cda97e5e4747ab355c8eef2d5f7372" title="Left rotate a low-level binary tree.">_gdsl_bintree_rotate_left()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#ga082c45d04f47b72da1bc4d7703adbe88" title="Right rotate a low-level binary tree.">_gdsl_bintree_rotate_right()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#ga3a406e5f4ef33ad3b1014e4b84c6da2f" title="Left-right rotate a low-level binary tree.">_gdsl_bintree_rotate_left_right()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga436374e66f5f69fa39ded6152004218f"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_map_prefix" ref="ga436374e66f5f69fa39ded6152004218f" args="(const _gdsl_bintree_t T, const _gdsl_bintree_map_func_t MAP_F, void *USER_DATA)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> <a class="el" href="group____gdsl__bintree.html#ga436374e66f5f69fa39ded6152004218f">_gdsl_bintree_map_prefix</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga43408bcf81a258b72a85c713a0021b96">_gdsl_bintree_map_func_t</a>&#160;</td>
          <td class="paramname"><em>MAP_F</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>USER_DATA</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Parse a low-level binary tree in prefixed order. </p>
<p>Parse all nodes of the low-level binary tree T in prefixed order. The MAP_F function is called on each node with the USER_DATA argument. If MAP_F returns GDSL_MAP_STOP, then <a class="el" href="group____gdsl__bintree.html#ga436374e66f5f69fa39ded6152004218f" title="Parse a low-level binary tree in prefixed order.">_gdsl_bintree_map_prefix()</a> stops and returns its last examinated node.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( |T| ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>MAP_F != NULL </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to map. </td></tr>
    <tr><td class="paramname">MAP_F</td><td>The map function. </td></tr>
    <tr><td class="paramname">USER_DATA</td><td>User's datas. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the first node for which MAP_F returns GDSL_MAP_STOP. </dd>
<dd>
NULL when the parsing is done. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga724d9accf37102ec2e1f6c857efe9411" title="Parse a low-level binary tree in infixed order.">_gdsl_bintree_map_infix()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#ga203a069ddf6d9d61144c708c28bbe43d" title="Parse a low-level binary tree in postfixed order.">_gdsl_bintree_map_postfix()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga724d9accf37102ec2e1f6c857efe9411"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_map_infix" ref="ga724d9accf37102ec2e1f6c857efe9411" args="(const _gdsl_bintree_t T, const _gdsl_bintree_map_func_t MAP_F, void *USER_DATA)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> <a class="el" href="group____gdsl__bintree.html#ga724d9accf37102ec2e1f6c857efe9411">_gdsl_bintree_map_infix</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga43408bcf81a258b72a85c713a0021b96">_gdsl_bintree_map_func_t</a>&#160;</td>
          <td class="paramname"><em>MAP_F</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>USER_DATA</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Parse a low-level binary tree in infixed order. </p>
<p>Parse all nodes of the low-level binary tree T in infixed order. The MAP_F function is called on each node with the USER_DATA argument. If MAP_F returns GDSL_MAP_STOP, then <a class="el" href="group____gdsl__bintree.html#ga724d9accf37102ec2e1f6c857efe9411" title="Parse a low-level binary tree in infixed order.">_gdsl_bintree_map_infix()</a> stops and returns its last examinated node.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( |T| ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>MAP_F != NULL </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to map. </td></tr>
    <tr><td class="paramname">MAP_F</td><td>The map function. </td></tr>
    <tr><td class="paramname">USER_DATA</td><td>User's datas. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the first node for which MAP_F returns GDSL_MAP_STOP. </dd>
<dd>
NULL when the parsing is done. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga436374e66f5f69fa39ded6152004218f" title="Parse a low-level binary tree in prefixed order.">_gdsl_bintree_map_prefix()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#ga203a069ddf6d9d61144c708c28bbe43d" title="Parse a low-level binary tree in postfixed order.">_gdsl_bintree_map_postfix()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga203a069ddf6d9d61144c708c28bbe43d"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_map_postfix" ref="ga203a069ddf6d9d61144c708c28bbe43d" args="(const _gdsl_bintree_t T, const _gdsl_bintree_map_func_t MAP_F, void *USER_DATA)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a> <a class="el" href="group____gdsl__bintree.html#ga203a069ddf6d9d61144c708c28bbe43d">_gdsl_bintree_map_postfix</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga43408bcf81a258b72a85c713a0021b96">_gdsl_bintree_map_func_t</a>&#160;</td>
          <td class="paramname"><em>MAP_F</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>USER_DATA</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Parse a low-level binary tree in postfixed order. </p>
<p>Parse all nodes of the low-level binary tree T in postfixed order. The MAP_F function is called on each node with the USER_DATA argument. If MAP_F returns GDSL_MAP_STOP, then <a class="el" href="group____gdsl__bintree.html#ga203a069ddf6d9d61144c708c28bbe43d" title="Parse a low-level binary tree in postfixed order.">_gdsl_bintree_map_postfix()</a> stops and returns its last examinated node.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( |T| ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>MAP_F != NULL </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to map. </td></tr>
    <tr><td class="paramname">MAP_F</td><td>The map function. </td></tr>
    <tr><td class="paramname">USER_DATA</td><td>User's datas. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the first node for which MAP_F returns GDSL_MAP_STOP. </dd>
<dd>
NULL when the parsing is done. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga436374e66f5f69fa39ded6152004218f" title="Parse a low-level binary tree in prefixed order.">_gdsl_bintree_map_prefix()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#ga724d9accf37102ec2e1f6c857efe9411" title="Parse a low-level binary tree in infixed order.">_gdsl_bintree_map_infix()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga50a13f7776626c759a33aa55fa7a0aa4"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_write" ref="ga50a13f7776626c759a33aa55fa7a0aa4" args="(const _gdsl_bintree_t T, const _gdsl_bintree_write_func_t WRITE_F, FILE *OUTPUT_FILE, void *USER_DATA)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group____gdsl__bintree.html#ga50a13f7776626c759a33aa55fa7a0aa4">_gdsl_bintree_write</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#gacea560ffb03c5318e963c7b0216e3fc1">_gdsl_bintree_write_func_t</a>&#160;</td>
          <td class="paramname"><em>WRITE_F</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>OUTPUT_FILE</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>USER_DATA</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Write the content of all nodes of a low-level binary tree to a file. </p>
<p>Write the nodes contents of the low-level binary tree T to OUTPUT_FILE, using WRITE_F function. Additionnal USER_DATA argument could be passed to WRITE_F.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( |T| ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>WRITE_F != NULL &amp; OUTPUT_FILE != NULL </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to write. </td></tr>
    <tr><td class="paramname">WRITE_F</td><td>The write function. </td></tr>
    <tr><td class="paramname">OUTPUT_FILE</td><td>The file where to write T's nodes. </td></tr>
    <tr><td class="paramname">USER_DATA</td><td>User's datas passed to WRITE_F. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga372dbc2caeef645046c3f1f24f996ac2" title="Write the content of a low-level binary tree to a file into XML.">_gdsl_bintree_write_xml()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#ga9099d44f674541112fbace86690599ee" title="Dump the internal structure of a low-level binary tree to a file.">_gdsl_bintree_dump()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga372dbc2caeef645046c3f1f24f996ac2"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_write_xml" ref="ga372dbc2caeef645046c3f1f24f996ac2" args="(const _gdsl_bintree_t T, const _gdsl_bintree_write_func_t WRITE_F, FILE *OUTPUT_FILE, void *USER_DATA)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group____gdsl__bintree.html#ga372dbc2caeef645046c3f1f24f996ac2">_gdsl_bintree_write_xml</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#gacea560ffb03c5318e963c7b0216e3fc1">_gdsl_bintree_write_func_t</a>&#160;</td>
          <td class="paramname"><em>WRITE_F</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>OUTPUT_FILE</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>USER_DATA</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Write the content of a low-level binary tree to a file into XML. </p>
<p>Write the nodes contents of the low-level binary tree T to OUTPUT_FILE, into XML language. If WRITE_F != NULL, then uses WRITE_F function to write T's nodes content to OUTPUT_FILE. Additionnal USER_DATA argument could be passed to WRITE_F.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( |T| ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>OUTPUT_FILE != NULL </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to write. </td></tr>
    <tr><td class="paramname">WRITE_F</td><td>The write function. </td></tr>
    <tr><td class="paramname">OUTPUT_FILE</td><td>The file where to write T's nodes. </td></tr>
    <tr><td class="paramname">USER_DATA</td><td>User's datas passed to WRITE_F. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga50a13f7776626c759a33aa55fa7a0aa4" title="Write the content of all nodes of a low-level binary tree to a file.">_gdsl_bintree_write()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#ga9099d44f674541112fbace86690599ee" title="Dump the internal structure of a low-level binary tree to a file.">_gdsl_bintree_dump()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga9099d44f674541112fbace86690599ee"></a><!-- doxytag: member="_gdsl_bintree.h::_gdsl_bintree_dump" ref="ga9099d44f674541112fbace86690599ee" args="(const _gdsl_bintree_t T, const _gdsl_bintree_write_func_t WRITE_F, FILE *OUTPUT_FILE, void *USER_DATA)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group____gdsl__bintree.html#ga9099d44f674541112fbace86690599ee">_gdsl_bintree_dump</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#ga797c557a551a057c0763387ce7b92fbe">_gdsl_bintree_t</a>&#160;</td>
          <td class="paramname"><em>T</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group____gdsl__bintree.html#gacea560ffb03c5318e963c7b0216e3fc1">_gdsl_bintree_write_func_t</a>&#160;</td>
          <td class="paramname"><em>WRITE_F</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>OUTPUT_FILE</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>USER_DATA</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Dump the internal structure of a low-level binary tree to a file. </p>
<p>Dump the structure of the low-level binary tree T to OUTPUT_FILE. If WRITE_F != NULL, then use WRITE_F function to write T's nodes contents to OUTPUT_FILE. Additionnal USER_DATA argument could be passed to WRITE_F.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Complexity: O( |T| ) </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>OUTPUT_FILE != NULL </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>The low-level binary tree to dump. </td></tr>
    <tr><td class="paramname">WRITE_F</td><td>The write function. </td></tr>
    <tr><td class="paramname">OUTPUT_FILE</td><td>The file where to write T's nodes. </td></tr>
    <tr><td class="paramname">USER_DATA</td><td>User's datas passed to WRITE_F. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group____gdsl__bintree.html#ga50a13f7776626c759a33aa55fa7a0aa4" title="Write the content of all nodes of a low-level binary tree to a file.">_gdsl_bintree_write()</a> </dd>
<dd>
<a class="el" href="group____gdsl__bintree.html#ga372dbc2caeef645046c3f1f24f996ac2" title="Write the content of a low-level binary tree to a file into XML.">_gdsl_bintree_write_xml()</a> </dd></dl>

</div>
</div>
</div><!-- contents -->
</div>
  <div id="nav-path" class="navpath">
    <ul>

    <li class="footer">Generated on Wed Jun 12 2013 18:18:47 for gdsl by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1 </li>
   </ul>
 </div>


</body>
</html>
